package org.hughie.springframework.beans.factory.support;

import org.hughie.springframework.beans.factory.config.BeanDefinition;

/**
 * BeanDefinition注册接口
 * <p>
 * 需要注意与{@link org.hughie.springframework.beans.factory.config.SingletonBeanRegistry}区分
 * BeanDefinitionRegistry为BeanDefinition的注册表接口，SingletonBeanRegistry为bean对象的注册表接口
 */
public interface BeanDefinitionRegistry {

    /**
     * 向注册表中注册BeanDefinition
     */
    void registerBeanDefinition(String beanName, BeanDefinition beanDefinition);

    /**
     * 检查注册表中是否已经包含bean，用于避免重复注册
     */
    boolean containsBeanDefinition(String beanName);
}
